//
//  DouBanDetailTableViewCell.m
//  RACExample
//
//  Created by 山刘 on 2020/6/2.
//  Copyright © 2020 山刘. All rights reserved.
//

#import "DouBanDetailTableViewCell.h"
#import "DouBanDetailTableViewCellViewModel.h"

@interface DouBanDetailTableViewCell()
@end

@implementation DouBanDetailTableViewCell
#pragma mark - init Views
+(NSString*)reuseIdentifier{
    return NSStringFromClass([self class]);
}

+(DouBanDetailTableViewCell*)cellWithTableView:(UITableView*)tableView indexPath:(NSIndexPath*)indexPath{
    DouBanDetailTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:[DouBanDetailTableViewCell reuseIdentifier]];
    if (!cell) {
        cell = [[DouBanDetailTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:[DouBanDetailTableViewCell reuseIdentifier]];
    }
    cell.indexPath = indexPath;
    return cell;
}

-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
    if (self == [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
        [self segInitViews];
    }
    return self;
}

-(void)segInitViews{}

#pragma mark - Layout
- (void)updateConstraints {
    [super updateConstraints];
}

#pragma mark - RAC Data Binding
- (void)bindViewModel {
    RAC(self.textLabel,text) = RACObserve(self.viewModel, title);
}

#pragma mark - getter

#pragma mark setter
-(void)setViewModel:(DouBanDetailTableViewCellViewModel *)viewModel{
    _viewModel = viewModel;
    if (!viewModel)  return;
    [self bindViewModel];
}
@end
